from django.contrib import admin

# Register your models here.
from .models import Question, Choice


class ChoiceInline(admin.TabularInline):
    model = Choice
    # 展示三行
    extra = 3


class QuestionAdmin(admin.ModelAdmin):
    # fields = ['pub_date', 'question_text']
    # fieldsets = [
    #     (None, {'fields': ['question_text']}),
    #     ('Date information', {'fields': ['pub_date']}),
    # ]

    # Django只显示__str()__方法指定的内容。但是很多时候，我们可能要同时显示一些别的内容。要实现这一目的，
    # 可以使用list_display属性，它是一个由字段组成的元组，其中的每一个字段都会按顺序显示在页面上

    # 你可以点击每一列的标题，来根据这列的内容进行排序。但是was_published_recently这一列除外，不支持这种根据函数输出结果进行排序的方式。
    # 同时请注意，was_published_recently这一列的列标题默认是方法的名字，内容则是输出的字符串表示形式。
    list_display = ('question_text', 'pub_date', 'was_published_recently')
    fieldsets = [
        (None, {'fields': ['question_text']}),
        ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    ]
    inlines = [ChoiceInline]


admin.site.register(Question, QuestionAdmin)

# Django在admin站点中，自动地将所有的外键关系展示为一个select框
# admin.site.register(Choice)